package com.platform.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import static com.platform.comm.util.DateTimeUtil.STD_LONG_TIME_PATTERN;

/**
 * @author Coder
 */
@Getter
@Setter
public class SysMsgManageVo {

    /**
    * 主键标识
    */
    private String id;

    /**
    * 消息主题
    */
    private String msgTitle;

    /**
    * 消息内容
    */
    private String msgContent;

    /**
    * 消息类型（预警、规则编排）
    */
    private String msgType;

    /**
    * 收件类型（角色、部门）
    */
    private String receiveType;

    /**
    * 附件id
    */
    private String fileId;

    /**
    * 发件人
    */
    private String createBy;

    /**
    * 发件人名称
    */
    private String createName;

    /**
    * 发件时间
    */
    @JsonFormat(pattern = STD_LONG_TIME_PATTERN, shape = JsonFormat.Shape.STRING)
    private LocalDateTime createDate;

    /**
    * 修改人
    */
    private String updateBy;

    /**
    * 修改时间
    */
    @JsonFormat(pattern = STD_LONG_TIME_PATTERN, shape = JsonFormat.Shape.STRING)
    private LocalDateTime updateDate;

    /**
    * 是否删除
    */
    private String flag;

    /**
    * 通知类型（站内信、邮件、短信）
    */
    private String notifyType;

    /**
    * 过期状态
    */
    private String expireStatus;

    /**
     * 过期时间
     */
    private LocalDate expireTime;

    private String receiveValue;

    /**
     * 收件人
     */
    private String addressee;

    /**
     * 附件ids
     */
    private List<Map<String, String>> fileList = new ArrayList<>();
}
